package com.example.CarManagement.sys.service;

import com.example.CarManagement.common.Result;
import com.example.CarManagement.enumPojo.ApplicationStatus;
import com.example.CarManagement.sys.dto.DispatchDto;
import com.example.CarManagement.sys.entity.Applications;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.CarManagement.sys.entity.Approvals;

/**
 * <p>
 * 用车申请表，记录用户提交的用车申请及审批状态 服务类
 * </p>
 *
 * @author 徐佳彪
 * @since 2025-07-17
 */
public interface IApplicationsService extends IService<Applications> {


    // 添加申请
    Result<?> add(Applications applications);

    // 查询当前用户自己的所有寝室

    Result<?> selfList(String token);


    // 查询需要审批的申请
    Result<?> needApproveList(String token, Integer pageNo, Integer pageSize, String applicationNumber, String status);


    // 审核订单
    Result<?> review(Applications applications, Approvals approvals, String token);


    Result<?> detail(String id);

    Result<?> dispatchList(Integer pageNo, Integer pageSize, String applicationNumber);

    Result<?> dispatch(DispatchDto dispatchDto, String token);
}
